/*
 * @Author: your name
 * @Date: 2021-11-22 08:00:15
 * @LastEditTime: 2022-04-04 11:02:43
 * @Descripttion: 自定义的输入编辑框
 */
#ifndef INPUT_EDIT_H
#define INPUT_EDIT_H
#include "input_item.h"
class InputEdit : public InputItem {
public:
    InputEdit(std::unique_ptr<Widget>& page, std::string& string, Widget* editView);
    ~InputEdit();
    /**
     * @brief Set the Edit Text object
     * 重载设置编辑框函数。
     * @param edit 界面编辑框控件widget指针，由密码界面赋值。
     * @param value 输入值字符串。
     * @param ctx 上下文，未使用。
     */
    void SetEditText(Widget* edit, std::string value, void* ctx) override;
    void InputFinshedEvent() override;
    void SetEditChangedCallback(std::function<void()> func);

private:
    /**
     * @brief 
     * 编辑框输入时回调函数，用于通知主界面有输入操作。
     */
    std::function<void()> setEditCallback;
};
#endif